Spinboxes for year/disc/track now show better if multiple different value are selected

Update to discussion in #4432.
- This now uses for QLineEdit and QSpinBox setPlaceHolderText which is exactly what we want to do.
- PlaceHolderText was introduced with Qt 4.7 (that is the version bump)
- Only TextEdit needs the complicated paintEvent code and in Qt 5.0 this will get setPlaceHolderText too.

I am still not exactly happy with the code as the introduced setPlaceholder() function is just a weird indirection to call the apropiate setPlaceHolderText() function but if I understand 
C++ multiple inheritance correctly there is no other way. With this setup it saves the repeated code from set_hint for LineEdit and TextEdit.
If somebody has a better idea or anything else should be changed, please tell me.
Remove use of `this`