Iterating through tiles in viewports now works fine. You can pass in a custom device as the data source for the tile map.
This also adds a static lib part to DoorKeeper that will only contain helper functions.
This breaks the build.