I went for a Slice of PI/O expander board from Ciseco. This brings the Raspberry Pi's GPIO interface out unbuffered, but you get an additional protected 16 I/O lines and a lot of configurability via the I2C interface.
The assembly instructions didn't then make it clear that you need to tie the address selection pins high or low (they do now). Leaving them floating has strange effects! My soldering isn't wonderful (must get some thinner-gauge solder!) but adequate.
I got an acrylic box, LED/resistor packs, switches and breadboard from S K Pang.