remove UI::Widget::m_layer and associated state management
don't check for mouse position when handling MouseOver/MouseOut events

It is possible for the mouse to leave a widget without leaving the widget's
2D screen bounds, because layers add a third dimension.
Merge remote-tracking branch 'johnbartholomew/ui-layers'
scan_enums: better error reporting for UTF-8 decode errors
fix some source file encodings (latin1 -> utf-8)

- src/graphics/RenderTarget.h
- src/GeoPatchID.cpp
Merge remote-tracking branch 'johnbartholomew/scan-enums-3'
fix the view distance of the model spinner so the model doesn't get clipped
Update Spanish.txt
Update Spanish.txt
Start of configuring FaceGen from JSON.
First really working version.
FaceGenManager now fleshed out with most of the data it needs.
Loads the images and keeps them for later, doesn't cleanup after itself properly yet.
FaceVideoLink and gameui/Face now use the loaded images instead of loading per generation.
Remove and tidyup some code.
Destroy FaceGenManager on quit.
Update VS2012 projects.
Fix VS2012 compiling with JSON
Move more responsibility into the FaceGenManager so that FaceVideoLink.cpp and Face.cpp share the same code for creating faces.
Start adding support for species.
Moved human species face gen images files into species_0 folder.
Update the JSON configuration to support the above.
Redundant Random instances removed.
Get the number of face gen parts by reading whats in the directories rather than reading it from a JSON file or being hardcoded.
Silly positioning overflow bug, fixed same as Robn.
add FaceGenManager to the autotools build, and add missing libs.h include
replace uses of substr(0, N) == x with starts_with
LoadImage can take a const std::string&