Use vsnprintf_s over vsprintf_s, make char buffer big enough. Closes #64
Remove texture alignment tracking and save texture units in initial state

* Tracking the alignment was pointless and it isn't implemented yet anyway.
* Relevant state should be saved at the start of each captured frame, so
  include the active texture bindings in this
Serialise glActiveTexture during frame captures
Add GLRenderState class to track GL state vector

* Use it to serialise in/out initial state at the start of each captured
  frame.
* Serialise active texture and buffer bindings (indexed and non-indexed).
Serialise out glBindBuffer{Base,Range} and glBindFramebuffer
Implement glBindSampler
Serialise blend functions and blend state
Implement glCheckFramebufferStatus
Print an error for each dll function that fails to hook.
Add glClearColor and glClearDepth
Serialise out viewports
glCullFace and glFrontFace
glBlitFramebuffer
Add other glClearBuffer variants
Add glColorMask
Serialise fixed-size stdint types instead of GL types