Make script fragments robust against screen rotations.

When rotating the screen fragments are managed automatically by the
system, i.e., they are restarted. For that reason they have to have a
default constructor. Previously the component was handed to the fragment
via the constructor. Since this does not work anymore the fragment
remembers the index of the component and gets it from activity on
restart.

Fix the ActivityStarterView. The assigned view id was not valid anymore,
after a rotation. Now the id is dependent on the order in which the
views are added to the fragment.
Add some documentation.
Set the origin depending on the camera orientation.
Experiment storage and 180 degree orientation changes.

- Create the experiment directories a bit later when they are really
needed. This fixes some orphaned dirs.
- Use mkdirs instead of mkdir.
- When rotating the screen by 180 degree the activity does not get
restarted so watch for this kind of changes with an
OrientationEventListener.