Merge pull request #64 from VladVP/develop

Code should now be fully compatible with MSVC10
Added the beginnings of GLTexture
Moved GLScreenQuad into coding standards

Also improved the shader variable calls by moving them to a one time
call in the constructor.
Moved GLCubeSphere into coding standards

Also fixed the gotcha in GLScreenQuad where shaders were being used and
modified before being initialized.
Moved GLIcoSphere and GLMesh into coding standards

GLMesh now uses GLTexture resources. Right now it just stores the
texture ID in the Material structure. It will need to be changed over to
storing actual GLTexture references.
Fixed a crash and adding invert Y on load to GLTexture
Moved GLSprite into coding standards
Misc coding standards clean ups
Fixed window client sizing to be correct

Also win32 wndproc now sends out KeyDown and CharDown messages. There
isn't a CharUp messages as it is just a one off the char has pass
through the system. This is post translated with proper shift modifiers.
Add mouse coordinates for mouse up and down

MouseInputSystem now sends the mouse position on mouse button up and
down.

Added the missing changes to KeyboardInputSystem about CharDown
Added a GUI controller

This controller just receives events and passes them along to the
WebGUIComponent. This could be consolidated at a later point, but for
now keeping them separated made testing easier.
Added the GLTexture resource

This resource is to allow loading a texture once, and then sharing it.

Cleaned and refactored some more.
Added Awesomium to CMakeList.txt

This is only for win32 currently.
Added a separate screen space vector to render screen space components after everything else.
GLScreenQuard now uses GLTexture
Renamed some properties for GLScreenQuard creation to better reflect their usage.

Also simplified the initialize buffer to use the assumption that we are in screen coords 0.0,0.0 in the upper-left to 1.0,1.0 in the lower-right.

Finally added a safe guard to check if the texture is valid during a render.
Removed hard coding from win32 WndPRoc

WndProc now retrieves the client window size for mosue movement and click coordinates.
Added click region to WebGUIComponent

WebGUIComponent now has a click region. This is the area in which clicks will be captured and injected.
Also WebGUIComponents now know the full window size to recalculate mouse coordinates from the normalized ones passed in.
Changed WebGUISystem to follow the factory pattern

CreateWebGUIView now creates a proper GUI view usign passed in properties.
To that end the window size must be set before creating any components via SetWindowSize().

Renamed WebGUIComponent to WebGUIView.
Added a focus check to clicks for WebGUIView
Added a check on load for texture in memory or on disk for GLScreenQuad creation