Stop mixing tabs and spaces
Remove compare from the array prototype

Overloading a built in classes prototype is not a terribly good idea;
unless you are doing it for cross-browser compatibility (i.e. IE8
doesn't have map; so you provide an implementation of map on the Array
prototype in IE 8 only)

There's a notion in design for "Open for Extension but closed for
Modification" when you add an additional function to a prototype you're
modifying that types behavior. In the event someone *else* depends on
your compare function and then you change it (perhaps it also supports
hashmaps!) you are setting them up for pain.
Add some comments for future direction of the move function

Currently every single one of your east/north forwards/backwards
functions have to check to see if you leave the world or if you run into
an obstacle.

Also, it would be better to have a single datatype for coordinate,
instead of going back and forth between the array and the coordinate
with x/y etc.

Your parameters object is actually several objects at once: a
coordinate, a set of commands, a set of obstacles, etc. Instead of
passing all of this data to every function, think about how you could
only pass the data the given function needs
Merge pull request #1 from zspencer/master

A bit of feedback