Customisable menu structure for home and beyond

This allows the menu system in XBMC to be customised.  It extends the video library XML system to the home menu screen.

There's still a reasonable chunk to be done:
1. Testing with multiple skins to make sure I didn't break (too) much.  Didn't do much testing of music as yet.
2. Cleaning up Confluence (@ronie?)
3. Cleaning up the directory structure a bit (@da-anda?)
4. Various cleanups in the code, such as removing video library flattening, cleaning up the directory starting points of each window etc. (they should now probably be hardcoded).

I'm not particularly happy about the (mis)use of the hidden attribute.  Ideas welcome.