Refactoring Checkpoint

Large code refactoring in progress @ `./srcValidator` folder.

- Consolidated littering string literals into their respective
owners.

HTML DOM related constants, such as CSS selectors, have
been put under `$plugins.js`, where jQuery plug-ins are
being kept.

Backend-specific constants, such as allotted mime types and
recognized character sets, are compressed into `DB.js`, which is
the data store management singleton object.

- New variable and file naming schemes

Widget files are prefixed with a dollar sign "$". They're restricted
to export a single module with the same name as the file name,
all upper letter cases and underscores.

Class names longer than two characters are prefixed with a capital
English letter. These are to be instantiated with the `new` keyword
unless noted otherwise.

Files with the dollar sign prefix and all lower case names are
strictly running codes; They do not export anything for other
parts of the application to use.

- Exceptions to these rules: PO.js, and inner classes.

Switched coding style from numeric index iteration to Array
comprehensions when possible, since this application will not
be used in obsolete web browsers.

Separated re-usable parts of the backend code into small classes
and libraries, such as `PO.js` (An associative array and an Object
prototype utility belt), and `LooseEdge.js` as a loosely-coupled,
directed graph data structure.

Finally, the wiki can now read plain text files that are not encoded
using UTF-8. Character encoding import support for other
languages such as Japanese (SHIFT-JIS) and Simplified Chinese
(GB2302) have been added.
Accidental Commit

- Removed some code snippets no longer fit for reuse
- Moved web browser poly-fill file to a more fitting place.
- Removed accidentally created lodash files.
Refactoring Checkpoint 2

- Updated jquery library.
- Inserted YUIDoc comment into reusable components.
- Identified a UI defect regarding popup dialog box positioning.
Refactoring Checkpoint 3

Bug Fix, Missing Features
-------------------------

- Fixed the bug regarding erroneous popup window positions.
- Fixed the bug where page titles and status fail to update
after importing from an external dataset.
- Fixed an importing bug where it can only import JSON data;
Now it can accept other forms of textual data as well.
- Added character set specification support when importing
from external files. The wiki can now import textual data
that are not encoded in UTF-8 (e.g: GB2302 Simplified Chinese,
Russian, SHIFT-JIS Japanese.)

Project Structures
------------------

- Less string literal littering; Currently considering
whether to enforce centralized string constant coding policy.
Specifically, only a very specific few modules are allowed
to declare string constants.
- Established formal object factories for Wiki entries,
configuration objects, and a formal class for edge sets.
Rudimentary constraint enforcing for these objects have
been established.

New Milestone
-------------

- Create a rudimentary error reporting interface for when the
javascript engine crash.
- Keep the file under 200KB uncompressed; Well-tested external
components such as jQuery and lodash are not subject to this
restriction.

TODO
----

Test the wiki engine under old versions of Firefox (3.6) and Opera (12).
Merge pull request #1 from Preole/dev

Merge dev -> master