The simple answer is: you can't

at least, with the setup that you have. You need to put in some kind of packet shaper. Commercial packet shapers are available for mucho dinero, or you can try using a more ghetto solution.
IF you have a crap PC lying around, it is totally possible to do this, with some effort. I define "crap PC" as any rig that is unuseable by today's standards, but is better than a 386 CPU. The stuff you find in folks' garbage cans
First, you'll need to set things up like this:
Internet connection|-----|router|-----|crap pc|----|hub/switch|-----|all of your PCs
So you'll need two ethernet cards in the crap PC. I don't know what drivers the boot disk contains, but I'd bet that NE2000 compatible, Intel, 3com and Realtek are there - which is good, since generic Realtek ethernet cards can be had for under $10 each.
Then, you can go get an
IP_DUMMYNET disk here and follow the instructions.
Dummynet does what you want. You can set bandwidth to get allocated in different amounts to different IP address. Use the router to set up DHCP for your idiot roommates, and keep a static address for yourself. You can do other things with the disk, like block off websites, or reroute users to alternate sites. Send them to Disney everytime they try to get to their favorite porn site. More seriously, you can use it to make a bi-directional firewall, so that spyware won't work anymore.
Note that Dummynet is available for most unix-like operating systems, so you don't have to use the disk from that page - you can try to set it up under FreeBSD, OpenBSD, or some Linuxes.
Depending on your internet connection, you can likely get rid of the router entirely and just use the crap PC to do your routing, firewall, etc.
This is non-trivial stuff, tho, so it isn't going to be a solution for most folks. However, it is the only (affordable) way to do what you want. I'm getting ready to build a rig like this myself - my old Linky isn't cutting it anymore.
jonathan