Clean up default view of the protocol reference
Fix #7: Reorder A-10C assignments to align the caution lights indicator data on a two-byte boundary
protocol-reference.html: Add option to switch to advanced view

This adds a dropdown field at the top of the page to switch between
"simple" and "advanced" views.

In "simple" view, each control shows only one code example for the
Arduino library. In "advanced" view, detailed information about inputs
and outputs (addresses, masks, etc) is displayed and all code examples are shown.
protocol-reference.html: Clicking a code snippet selects it (for easy copy and paste)
Merge pull request #10 from jboecker/issue9

Fix #9 (more interactivity for protocol-reference.html)
protocol-reference.html: remove console.log() call
protocol reference: replace "category filter" with a dropdown list, remove "identifier" and "description" filters

This replaces the "category filter" textbox with a dropdown list that
offers a choice between viewing a single category or all at once
(the default).

It also removes the "identifier" and "description" filters, because they
were too slow to be useful. Until we find a way to speed this up, the
browser's built-in search function is a much better way to find a specific
control.
protocol reference: fix code examples for variable_step input type
fix BIOS.util.defineRockerSwitch logic

The logic for rocker switches got broken when I normalized them to
accept states 0, 1 and 2 instead of -1, 0 and 1.

This commit fixes that. In addition, rocker switches now handle the
case where they are switched from state 0 to 2 or 2 to 0 correctly.
generate DcsBios::Switch3 code examples for three-position fixed_step inputs (refs #12)
userguide.adoc: document DcsBios::Switch3 (closes #12)
fix #13: A-10C: fix reference documentation for CMSP display lines
Use JSON:encode_pretty to create the machine-readable documentation

This commit changes replaces JSON:encode with JSON:encode_pretty
to make the machine-readable documentation (and their version control
diffs) easier to read for humans.
change license to a slightly modified Simple Public License 2.0

With this commit, I am changing the license from MIT to a modified
SimPL-2.0. I want a "strong copyleft" license, but I also want a
license that gets out of my way, which is the reason I initially used
MIT.

The GPL does not fulfill the "get out of my way" requirement. While it is
widely used and comparatively well understood, it does not change the fact
that it is littered with undecipherable legalese. It also spends a lot of
words talking about binary distribution, which is irrelevant to a project
that does not use any compiled languages.

The GPL also requires you to prominently note the date of any changes
you make. While I agree it is a good idea to do so, IMO the place for a
change log is not the work itself (or *shudder* the individual source
files, as required by GPLv2), but a revision control system.

To avoid any confusion about that part, I modified the SimPL and removed
the requirement to note the date of changes entirely.