Fix and optimize FindTilesInCircle

* Added the `minRange` parameter and renamed it to `FindTilesInAnnulus`.
* For a couple of cases where an annulus was wanted, I replaced the `outer circle - inner circle` logic with a call to get the annulus.
* Fixed and optimized `NearestMoveableCell` and `NearestCell`. This changes the existing behavior where the min range was being ignored.
* The precalculated tile offsets are now sorted by distance to avoid sorting them later.
This will most likely be a behavior change: this was sorting based on the more accurate world unit lengths, versus the cell lengths used in `InitTilesByDistance`.  Ideally `InitTilesByDistance` should do this more accurate sorting, but that requires a map, and so it would no longer be static.