Add basescape as separate source subdir.
Split off system-specific parts.
YAML and opengl are required.
yaml mess