feat(packets): pass nullable to packet serializers
chore: move PacketSerializer types to correct namespace
feat(serializer): fix null representation as stated in #18
feat: split packets definitions into separate assembly