- made the Follow AI faster and smarter

- added an AngleDifference() method. finding the difference between two angles is surprisingly hard lol
- input states can Clear() themselves
- added further abstractions to the AI controller. hopefully, it doesn't get much more complicated than it is now