move avatar controller from SDL frontend to base because it does not depend on SDL
move camera from SDL frontend to base
separate GUI creation from rendering