let view handle its own xevents
thumbnail caching support

(code still semibroken)