add support for NULL values in range widget

This also create new Qgs(Double)SpinBox classes to show the clear button.

The idea is to decrease the minimum value and use it as special text value.
The advantage of doing it is that forms with standard QSpinBox (not QgsSpinBox) will still be able to show the NULL values. They just won't show the clear icon.

SIP and custom widgets will follow once merged.