Added a shipMachine to automate ship operations. The machine starts in an idle state and checks if the ship needs fuel - if so, it transitions to a buyFuel state that purchases fuel from the current location’s market. It uses sendParent to notify the playerMachine of credit changes after purchases.

The playerMachine now has a proper initialisation flow. After fetching user data, it goes through an initialising state that checks conditions in order: get a loan if none, buy a ship if none, fetch market data for the ship’s location if not cached, then finally transition to ready. The market data is now cached in the player context by location symbol.

The UI also got updated to distinguish between initialising and ready states - the refresh button only appears when fully ready, but the player info displays during both states.