Major changes. Entirely refactored.

Organised more conventionally into multiple files.
Perfomance improvements.
More detailed and clear test suite.
Removed sorting methods.
Separated algorithm into Packer method object.
Introduced simplified Builder API.