Transition is not part of State class anymore

It is a function in the base module now.
Forbid explicit state setting
Update the docs
Rework transition
Use wraps() for @transitioned methods
Fix minor problems detected by pyflakes
Read frame sizes before actual recording
Add recording() context manager

This is a simpler way to ensure that the camera is in recording mode during
acquisition and stops recording afterwards.
Added Lightsource base device class
Added dummy Lightsource
Added Lightsource device instantiation test
Added LEDs connected within the wago
Added Lightsources to docs