Changed the way maximum velocity is capped, fixing 2 importants bugs:

- The check about max velocity in either directions now takes the ABS
  value of the current speed into account (before, negative speeds were
  not capped)
- When both x and y velocity are nonzero, we cap both of them to maxVel *
  sqrt(3) / 2, which is mathematically correct and prevent characters
  moving diagonal to exceed the max speed (so they don't go faster when
  they move diagonally)