Extracted from level9j into a separate project
Added simple encode/decode test