Implement basic skeleton

Problem: type information can be decoded, but there is no easy way to
access the ByteString that was used to decode to it. This ByteString is
what we'd like to cache to get fast type comparisons though.
Implement decode caching for Hashed* values ... doesn't work
Refactor decodeTypedOrFail', add trace-like debugging
Improve unsafeDecodeTyped error reporting
Remove old decoding functions (in favour of caching versions)
More fiddling, caching still won't work
Sharing in decoding works, don't know why though. Was an inlining issue.
Remove debugging functions
Inline encodeTyped
Update meta-information for 0.2.3
Merge "caching in decoder" feature (#35)

Note that I understand the inlining issue mentioned in a previous commit
now ;-)