Make samples shell allow for and handle window resizing

This patch deals with window resize events, updating the Rocket Context and various rendering context bits to deal with the window size change.

Shell::OpenWindow has been updated to take additional arguments of representing the initial window size, the shell render interface extension class, and a boolean which determines if the window allows itself to be resized.

It also creates an class representing extensions to the RenderInterface class which are used by the shell in various places but need direct access various bits of the rendering context.  The OpenGL implementation is broken into platform specific files, the DirectX versions only exist for Windows