Implements the [A* pathfinding algorithm]{@link http://en.wikipedia.org/wiki/A*_search_algorithm} on a 2-dimensional grid. You can use this to find a path between a source and destination coordinate while avoiding obstacles.
@constructor
@alias Splat.AStar
@param {isWalkable} isWalkable A function to test if a coordinate is walkable by the entity you're performing the pathfinding for.
function AStar(isWalkable) {
  this.destX = 0;
  this.destY = 0;
  this.scaleX = 1;
  this.scaleY = 1;
  this.openNodes = {};
  this.closedNodes = {};
  this.openHeap = new BinaryHeap(function(a, b) {
    return a.f - b.f;
  });
  this.isWalkable = isWalkable;
}