[#7] Move unmoved.js to src/.

`src/` is a more appropriate location, as this is a core script, not
merely support for the server, which doesn't actually serve the demos
or require the `unmoved.js` script.
[#7] Move demos to demo/.

`public/` implies that the files are needed by the server, which is not
the case; they should only be used for development. Paths to scripts and
stylesheets are also updated.
[#7] Adjust whitespace regarding function().
[#7] Refactor server in a major way.

Overhaul the structure of the server code extensively, with the following
key things of note:

- Rename server `web.js` to `app.js`.
- Set up server to be more express-like, using `app.use()`, adding logger,
  etc.
- Use RESTful routing style, moving objects to `routes/pages_objects.js`.
- Freeze to express 3.0.6.
- Extract setup of Redis to `db.js`.
[#7] Remove explicit request logging.

`express.logger()` logs the requests, so no explicit logging using
`console.log()` is required.
[#7] Document post-refactor changes.

Update the README documentation, updating paths and instructions about
running the demos in development.
Merge branch 'enhancement/7-refactor' into develop
[#4] Only restrict access if REMOTE_HOST set.

Previously, access was restricted to REMOTE_HOST, regardless of the
environment, and REMOTE_HOST had to be set. This approach complicates
development, however. Also, although it is by no means recommended
that the server be run in production without access being restricted,
this should be an environment decision.

Change the server to only restrict access if REMOTE_HOST is set, and
change `.env.example` accordingly. Note that if REMOTE_HOST is set to
an empty string, then it will be treated as being set.
Merge branch 'enhancement/4-restrict-access' into develop
[#8] Fix pages_objectsBefore() not getting called.

`pages_objectsBefore()`, which restricts `:page_id` for the request, was
not getting called for POST </pages/:page_id/objects/:object_id>, due to
the route not being matched correctly.

Fix by adding a wildcard to the route.
Merge branch 'bug/8-pages-objectsbefore' into develop
[#3] Fix various errors caused by undefined variables.

Various errors were caused because of variables sometimes being
undefined, and this not checked for correctly.

Fix by checking that variables are defined, using `typeof`.
Merge branch 'bug/3-undefined-errors' into develop
[#5] Serve root as static when in development.

Configure server to serve root directory when in development, skipping
origin check. This allows the demos to be used, without further ado.
Note that it is not sufficient to serve `demo/`, as access is needed to
`src/`.

To view the rectangles demo in development, start the server and visit
</demo/rectangles/index.html>.
[#5] Document serving of root as static for development.
Merge branch 'feature/5-serve-static-dev' into develop
[#9] Simplify unmoved.js options, implementing host.

Previously, it was necessary to set `objectsResource` to the full path
of the resource, also including the encoded URL for the remote page.

Replace `objectsResource` option with `host`, moving the building of the
full URL into `src/unmoved.js` itself. Also set the `unmoved.js` default
host to be `''`, meaning that no host needs to be specified, for
development.

Update the demos to work with the new parameters, explicitly setting the
host, by way of example.

Update the documentation, to reflect the new usage.
Merge branch 'enhancement/9-simplify-script-options' into develop
Bump version to v0.2.0.
Merge branch 'release/v0.2.0'