Enable some layers to be created without needing a viewport.
[QA] Initialization of TrackWaypoint layer data in related part.

Isolate viewport related settings to one function.
[QA] Better usage of enumeration type to identify layers.
[QA] Enumerate and use VikLayerParamType
[QA] Enumerate and use VikLayerWidgetType
[QA] Promote layer_type_from_string to be a global function.

Rename to vik_layer_type_from_string and move into vik_layer.c
[QA] Move VikLayerTypedParamData from preferences into viklayer header

Move associated functions and make available for reuse.
[QA] Move preferences_load_parse_param() to be a general function
[QA] Simplify setting the colour in coordinate layer.

No need to have a pointer (and management thereof) to a colour structure.
Instead use it directly.
[QA] Refactor general string processing to avoid pointer arithmetic.
Add default values for layers.

Add functions to set the default layer parameter data, which is used on initialization.
This uses the GKeyFile mechanism to read and write files.
Using the group type offers a straightforward way to map to the layer name.
Enable GUI access to change the default values.
Rework the layer initialization to use the current default value for each parameter.
Revise Layer Default icon.
[QA] Remove unused variable in VikWindow.
Replace G_CONST_RETURN with 'const'

G_CONST_RETURN is deprecated.

https://bugzilla.gnome.org/show_bug.cgi?id=652211
gtk_object_sink() has been deprecated since GTK version 2.10, use g_object_ref_sink() instead.
Don't use deprecated GtkObject - use GObject instead.
Remove direct access for '->style' and replace with gtk_widget_get_style()
[QA] Simplify vik_track_steal_and_append_trackpoints()
[QA] Use vik_track function to append trackpoints from another track
Create and use a function to detect when a TrackWaypoint layer is empty.