Decouple controls from tasks (programmable keys)

They are treated differently in the HID++ 2.0 specification. Observations seem
to confirm this difference. For instance, a part of solaar-cli's output:

	0: unknown:0022         => Home                   FN sensitive, is FN, reprogrammable
	1: Mail                 => Mail                   FN sensitive, is FN, reprogrammable
	2: unknown:003E         => Search                 FN sensitive, is FN, reprogrammable
Add more tasks for special keys

Based on tasks.xml from `%ProgramFiles%\\SetPointP\\tasks.xml`.
Merge pull request #59 from Lekensteyn/special-keys

Special keys and tasks
Add more feature names, rename existing ones

Extracted from SetPoint 6.52.74 software using:

    <FeaturesSupported.xml awk -F\" '/<Feature /{sub(/^LD_FID_/, "", $2); printf("\t%s=%s,\n", $2, $4)}' | sort -t= -k2

Existing names are renamed to the newer, verbose names.
cli: fix alignment with new feature names
Merge pull request #60 from Lekensteyn/updates

Update feature name list