I think the problem is on the diagonals. I noticed if I moved diagonally I seemed to move faster than orthogonally. After a while though my browser crapped out because there were too many enemies on the screen, so my game basically halted.
You're right. I didn't normalize XY Input resulted the player can move x1.4 faster diagonally. And I didn't implement the enemy despawn, it looks necessary now.