I've spent enough time on this :)

I have 2 maze creation algorithms, and 2 maze solving algorithms.

I didn't implement a command-line options interface, but that would be 
trivial to do. I think it's a decent enough API.

I don't like my solution because it has too many capital letters, due to the 
fact that methods are not first-class objects and I wanted to pass around 
the building and solving algorithms.

http://www.dave.burt.id.au/ruby/maze.rb

Cheers,
Dave