Split packer into a class that supports msgpack's ExtType

There is, however, one drawback. datetime objects sent over the wire aren't wire-compatible. Fixing that makes the code very complicated and I don't know how needed that is since [v0.1.0](http://pseud.readthedocs.org/en/latest/changelog.html#not-yet-released) is going to be backwards-incompatible anyway.