Track: allow resizing TrackContentObjects to less than one bar

As per popular demand, allow resizing TrackContentObjects to less than
one bar if appropriate subclass supports it.
InstrumentMidiIOView: added layouts for widget management

Instead of manually moving and resizing widgets, manage this using
appropriate layouts.
InstrumentTrack: set minimum size for save settings button

Set minimum size of 32x32 pixels for an appropriate appearance.
LcdSpinBox: added displayOffset property

The new displayOffset property is an offset which is always added to the
value of model so we can display values in a user-friendly way if they
internally start at 0.
InstrumentMidiIOView: rebase all values in SpinBoxes to 1

To keep consistency rebase all displayed values to 1 like we had for
MIDI channel and program already.
EffectRackView: added layouts for widget management

Also tweaked overall appearance a bit so that we have less nested frames.
AutomatableModel: reset value to default if data is unavailable in loadSettings()

When loading older projects where a particular model did not exist and
thus did not save any data do not load the possibly invalid default data
but reset to default value of model.
Revert "Revert "Extensions for peak controller. Fulfills request 144.""

Now that we solved the problem with wrong default values in newly
introduced models when loading older projects we can safely implement
the new PeakController features.

This reverts commit 9cb52ccf0d84b31945b86cbf419db854c0d91204.
AutomatableModel: renamed to controllerConnection() + coding style fixes

Renamed getControllerConnection() to controllerConnection().
MMP: write to temporary file first and then rename

In order to avoid data loss because of full disks or other storage
failures write a temporary file first, rename current file to backup
file and rename temporary file to current file.

Closes #26.
New style & gfx for master vol/pitch sliders, fx front panel artwork
Effect panel & effect window style, new knob images, knobs use palette
Oops! Missing parenthesis in knob.cpp :P
AutomatableModel: added isAtInitValue()
AutomationPattern: do not put initial value if model is at init value

There's no need to initialize an automation pattern with the value of the
model if it's default already. This fixes tons of dummy automation patterns
being saved for every note (as part of the note detuning feature).
Layout & bg artwork for peak controller, matching bg artwork for lfo controller & bass booster
AutomationPattern: coding style
InlineAutomation: improved hasAutomation()

Pprevent saving inline automation if there's just one value which equals
value of model which is going to be saved anyways.
NotePlayHandle: only use detuning automation if it exists at all
Slight colour tweak!