=== TODO:

Top Priorities:

* Installation
 + NSIS installer
 + Mac OS X pkg

* Manual
* More CGD and installation tests
* FastCGIServlet: modify resin servlet to do process management
* 'web/shim/rails'

Web
* Update Web::set_redirect() to use javascript if headers have been sent,
  instead of throwing nasty error.

Templating
* Test tags in strange circumstances, i.e. <? Web::puts "?>" ?>
* Replace the Foreach syntax with the following:
  <narf:foreach item="i" in="credits">
* Add support for RadioButtons
* pass through all values not depended on by the tag parser.
* Add support for links so that they correctly link to the current
  cgi, or to a different one.
* Support form submits, and redirects to urls of the form "?foo=bar",
  ie no script is mentioned.
* Provide a hook into test_unit to allow sessions to be automatically reset
  before a setup
* Have the tag parser report which tag was not matched
* The following line produces an unhelpful error message:
    <narf:foreach from"items" item="item">
* Make VarNotFoundException report a better error message, including
  line number and what var was not found. Print out some context from
  the template too.
* Add better error reporting (including line numbers and context) for
  template parse errors. 
* Add tests to test Web::Link

Web::Testing
* Allow clicking of links in a test.
* Add support for submitting a form to a CGI other than the current one.
* Have Values in textarea's and value attributes in other fields
  correctly escaped so all escaping issues are handled. 
* Add support for specific buttons to be submitted on a form.
* Provide a default form submit that submits any un-named form on the
  page. 
* Allow a request to be made directly to a form, passing in objects
  (objects should be serialized, unserialized before passing)
* Add an assert that a particular template was used
	assert_form_displayed MyTemplate
* Add a way to find out how long an array is in a test
* Add error reporting for when a template can not be found
* Report errors for unrecognized parameters for do_request
* Have assert_includes handle array fields to allow for parameters
  with array types.

Web::SimpleDispatcher
* Support for useful data-binding might include
  - Optionally, not having eveything written back to the form
  - Automatic data type conversions, perhaps specified in a form tag. 
* Submit could do with a more helpful error message. If a field is not
  present, it could list out the fields that are present.
* Have do request automatically encode objects
* Make sure round trip object serialization works correctly
