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.