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).