SVG

Many minor cleanups of warnings and code fixes: see the individual commits for more info.

Bigger changes:
Make the engine require only the dependencies it will use based on DiskCacheStrategy.
Add a working SVG example (the simplification made possible by the commits can be followed throughout).