Better widget image scaling support.

* Add STRETCH_ASPECT and FIXED DrawModes.
* Guard (almost) all setFixedSize calls in widgets on FIXED DrawMode.
* Remove WStatusLight SizeMode since it was added to allow side-stepping setFixedSize calls.
* Remove pixmap fall-back for SVGs when rendering with a source rectangle (i.e. VU meters). I finally got this working with QSvgRenderer.
* De-dupe logic in Paintable::draw methods so they all funnel through one handler -- drawInternal.
* Use floating point for rectangle calculations in WVuMeter instead of integers.
* SkinContext helper for extracting scalemode.
* Support for "scalemode" attribute on (almost) all widget images.

The only remaining widget that doesn't have scalemode support and still calls setFixedSize is WSpinny -- which uses QImage's instead of Paintables.
what's our policy on case-sensitivity of xml attributes?  I've been hacking things to be case insensitive but I think this is still case-sensitive.  I'm happy to choose one or the other but we should be consistent.