Move resolving of fonts/colors into the skin object

This commit series moves font and colour XML reading into the CSkinInfo object (addon for skins).  It then moves the resolving of fonts and colours to the CSkinInfo object via a resource provider smart pointer.

This will theoretically allow scripts with their own WindowXML stuff to support a separate Font.xml and colours at a later date (or alternatively allow them to load fonts of different sizes from the skin).  We'd probably need to be a bit careful with how we handle the fallbacks to the skin though.

Very much an RFC - I don't really like having to hold onto smartpointers all over the show, but it's probably better than accessing the globals directly (though for fonts we're accessing it indirectly atm...)