Split apartment room code into multiple files and subscribe for inventory updates from all furniture so we can recalculate upkeep every time it changes
- same code as TC that debounces the updates to only recalculate 1x per second
- this shouldn't be too many updates: without industrial the only time upkeep will recalculate is when paying for upkeep or a player is actively in their room looting