[WIP] Decoupling of parser and decoder

Objectives:
- Error handling refactor
- Implemented separate parsers for Bitstrings and Charlists 
- Support decoding JSON arrays and objects through implementing the appropriate JSON.Collector behaviour and passing it to the library when calling