- Add AI object with init(), update(), _predictBallY() methods
- AI uses predictive ray-cast with wall bounce simulation to intercept ball
- AI respects difficulty config (speed, reactionDelay, errorMargin) from GameConfig
- Add Physics._checkPaddle2Collision() with 5-zone deflection, ball goes LEFT
- Extend Physics.update() with paddle2 movement branch (2p/ai modes)
- Add AI.init() to initialization block