uart.h: Make uart_flush_output() available to other functions
user: Change UserEepromParams::colorPresets to expect values up to 255

UserEepromParams::colorPresets expected an index to the actual step
value. As the steps itself are a detail of the PWM module itself,
it makes more sense to define these properties in a way that it
contains RGB colors itself, so all values from 0 up to 255 are valid.
All functions handling with these properties are changed, so they
are consistent with the new definition.
user: Introduce USER_COLOR_CHANGE_MANUAL_STEPS to make color selection easier
pwm: Rename pwm_set_colors() to pwm_set_color()
pwm: Rename pwm_get_colors() to pwm_get_color()
pwm.c: Fix coding style guideline violation
Introduce struct for dealing with colors and use it throughout the project

All modules dealing with colors defined their own datatypes beforehand.
This unifies all of these datatypes into a globally available color_rgb_t
provided by color.h and makes use of it through the whole project.
pwm: Remove step functionality of the colors

This functionality is no longer needed and is therefore removed. It
didn't make much sense in the first place, because the step nature of
this module is something the other modules shouldn't have to worry
about.
user.h: Change USER_HUE_CHANGE_MANUAL_STEPS to 16

It makes more sense to define this as a power of two, because COLOR_HUE_MAX
is a power of two, too. This makes sure that it wraps around always
smoothly.
color.h: Add current year to copyright notice
TODO: Remove items already worked off