Draft: Refactor/sansio
Fixes #9, #10 and #19.
Note
Currently, all unit tests that don't compile are removed to allow for adding them back individually in a working state.
This is why the refactoring effort is only merged onto the develop
branch for allowing to readd the tests.
Edited by Julius Rüberg