Major refactoring which combines the previous common, android and desktop parts into one single library that can be used by all platforms. This references #1