Various cleanup and enhancements
- Moved source output to first default tab
- Made layout to work better on narrow screens
- Polished a bit the design and margins
- Fixed Java output to be independent of apps folder depth
- Moved client JS and CSS to a client library
- Rewrote client JS to be slightly more understandable