Refactor upgrade constraint system
Better upgrade buttons
Populate upgrades UI from raw upgrade data