Introduce basic project structure
Implement first signature of Form#fill
Implement second signature of Form#fill
Use more robust signature detection heuristic

Instead of duck typing based on the `value` specified, inspect the
target element's tag name.
Re-organize source files
Create dedicated module for date formatters
Add tests for synchronous API
Remove unused files
Share test element collection across tests

Since Mocha tests run in series, it is not strictly necessary to attach
test data to the test context. Re-using the same collection object (and
referencing it across closures) limits the amount of function binding
necessary in the tests and promotes readability.
Wrap asynchronous API tests in dedicated suite
Document date and time formats
Improve Makefile

Ensure that NPM dependencies are up-to-date.
Re-organize source files

The informal standard for Node.js modules is to place JavaScript source
files in the `lib` directory (`src` is reserved for C/C++ source).
Modularize logic

Split formatters into separate files, and utilize them dynamically.
Move integration tests to dedicated directory
Introduce unit tests