Updated TODO.
Added integer encoding switch.
NULL termination for json encoding.

- Every basic type encoding is terminated with a NULL byte.
- For arrays, individual array elements are encoded and NULL terminated and
  finally after the last element is encoded, the array itself is NULL
  terminated.
- For properties, property name is encoded and NULL terminated, after which
  the value is encoded and NULL terminated. Finally after all the properties
  are encoded the map itself is NULL terminated.
Changes to API.

- All APIs are now defined as method receiver for Codec reference.
- Codec object contains two configuration, arrayLenPrefix and
  propertyLenPrefix to optionally prefix array type and property type with
  number of elements it contains.
Added a switch to enable/disable length prefix.