Testable CherryPy App

The main app is now split into Frontend (where the CherryPy stuff takes place) and Backend (where the work is done). The backend is now 100% independent from the frontend and can be tested easily now.