Fix potential bug if starting position is diferent than 0
implement layer pan, smarter sprite cache