Remove unneeded shader uniform
Script binding vfuncs should be static
Spacing and minor fixes
Fix 'Rect::isEmpty()' and small performance fixes

Specifically, don't emit the 'valueChanged' signal
if nothing actually changed.
Null deref fixes / cleanups