Move app to a separate package
Moving the app to a new package would allow us to create a more modular architecture that lets us replace the app easily if we ever need to. We also want a reasonable default app that can be used for getting started quickly.