HUD refactoring and optimising - almost there, just small selection offset bug for inventory