Improved buffer interface. Added common header.
Expanded accessors.
Expanded command groups.
Trivial formatting changes.
Added definitions of VECTOR_CLASS and STRING_CLASS.
Added kernel class.
Split access enums from accessors, expanded accessors.
Expanded buffer, command_group, kernel and ranges.
Added skeleton implementation of program class.