Hal serializer

https://assemblymade.com/helpful/wips/151

* Added HalSerializer as lib
* Updated existing serializers to use it
* Updated tests