Please merge to add more flexibility

Users can choose between 8-bit and 16-bit coordinate values and three different color modes.

Default modes should be compatible with all existing libs