(This part assumes Windows users are using Cygwin. If you aren't, TortoiseSVN is a good client.)
Building on Windows is slightly complicated. You can either use Microsoft Visual C++ or MinGW. MinGW works better currently; both methods are described in the readme you already are supposed to have read.
If you've come up with an improvement or fixed something, we'd love to hear about it! Firstly, try to make sure that the patch breaks less than it fixes. We don't require everyone to be decorated Geniuses, but do attempt to produce a patch that you've tested and at list sort-of understand what you're doing.
Not everyone who knows C knows how to use diff (the tool you need to create patches with), and not everyone is making patches against the C code. That's okay, here's the 10ยข survival guide to making patches:
For more information on diff and patch, read their man-pages.
The prefered way to get the ball rolling on a patch is to file a bug for your request with the patch attached to it and then send a notice to the mailing list about it. If you're really so lazy that you can't do this, we would prefer you at least mail it to zakk@icculus.org rather than not do anything.