fix cache implementation

the cache would behave badly when the same item was insert()ed twice:
it would add the size twice to memory consumption, but would never substract
it twice when purging the (actually single) object from cache. So the cache
would seem to fill up while in fact it wasn't.
update base

Blitbuffer RGB16 fixes
(should only apply to screenshots for now)
Merge pull request #1143 from hwhw/master

Fix cache implementation, pull blitbuffer fix