Add opEquals(Shader) to shader
Allow non-refcounted resources in Cache

for such caches, purge() will completely clear the cache
Filesystem now returns immutable buffers

This allows slicing strings from those buffers