Added more stuff to the public API:
- defined common properties for encoders and decoders
- defined a builder for the common properties
- provided methods to read/write properties from/to buffers
- added some util classes from another project