Move Lunokhod support code to a Javascript file.

It's easier to edit it this way.

You'll notice a few extra bits in this file:

1) explicit scoping
2) Grid and Repeater objects

More to come about those two in future commits.
Survey construction should be done in its own scope.

If this isn't done, you'll have a lot of v... variables leaking into the
browser's frame-level JS environment.  Which sucks.
Abstract question association.

This makes it easier to do things like establish child -> parent links,
which I suspect may be useful for e.g. special grid behaviors.
Grid and repeater codegen.