Merge "caching in decoder" feature (#35)

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