How do I set up proxy authentication for the entire system without rooting my phone?
The app that did the trick for me is Auto Proxy (requires root).

All apps work, including browser, maps, GMail, etc. and it worked on Android 2.2, 2.3 and 4.0.

Additionally, WiFi proxy settings are built in to ICS, but I've had limited success with it. It seems to automatically disconnect from the wireless network. Your mileage may vary.