Refactoring DataType and RecordType

to a more appropriate location
Basic parser refactoring for global access

Will implement some synchronisation when I split rendering and parsing
code to run simultaneously
Implementation of GDSRenderable to help rendering
RenderState enums renamed to be more appropriate