Refactor|Log: Added bits for target audience, more LOG_* macros

It is now possible to mark log entries for specific user groups
and/or domains. While the DEV group is intended for pure programmer
stuff (like pointer values etc.), the other groups are for domain
specific information (things like map elements, input events, or
OpenGL details).

The DEBUG and TRACE levels were removed and replaced with
DEV|VERBOSE and DEV|XVERBOSE, respectively.

Todo: Take the new macros into use in the libs and engine subsystems.
Todo: Filter history / alert selectively based on the new bits.
Merge branch 'master' into ui-alerts
Refactor|Log|libdeng2: Renamed the INFO/Important level to Note

“Note” as in “please note this important detail”. Also, the term
“info” is already used for Info files.
Spelling
libdeng2: Updated logging with domain-specific LOG macros

Also, tweaked the entry levels to be more suitable within the domain.
libgui: Updated logging with domain-specific LOG macros

Also, tweaked the entry levels to be more suitable within the domain.
Shell|libshell: Updated logging with domain-specific LOG macros

Also, tweaked the entry levels to be more suitable within the domain.
DehRead|WadMapConverter: Updated logging with domain-specific LOG macros

Also, tweaked the entry levels to be more suitable within the domain.
Client: Started updated logging with domain-specific LOG macros

Also, reworded some messages to be more appropriate for the context
and usage.
Client: Continued updated logging with domain-specific LOG macros
Client|Cleanup: Continued updated logging with domain-specific LOG macros

Also, removed old client-specific VERBOSE or other log-related macros.
API|Refactor: Bumped WAD API to v2, removed a function

W_CheckLumpNumForName2() is not really needed, as the only purpose
of the extra parameter was to suppress a log message. The Log will
decide on its own whether to filter messages.
Refactor|Log: Dev flag can be used together with other domain flags

Added a new set of macros for logging developer-only entries.
These are named LOGDEV_* compared to the regular LOG_* macros.

All Dev entries should contain information that is only relevant to
native code programmers.
Tests|Log: Trying out the Dev flags
Merge branch 'master' into ui-alerts
libgui|OpenGL: Detect NVIDIA CSAA support, use it if available

IssueID #1707
Script|libdeng2: Creating records with expressions

Previously it was only possible to create a new record using the
“record” statement or the Record() function. This commit makes it
possible to put “record” in front of any expression that refers to
an identifier, and that identifier will be created as a (sub)record.

For instance:

<pre># Old way:
record a
a.b = 1
record a.sub
# Alternatively: a.sub = Record()
a.sub.c = 2

# New way:
(record a).b = 1
a.(record sub).c = 2</pre>
Log|libdeng2|Client: Filtering log entries

LogBuffer can now use a separate filter object to decide whether
a log entry should be entered into the buffer or not.

Added LogFilter with fine-grained filtering parameters that allow
for per-domain minimum levels and developer messages. App stores
its log filter in the persistent Config as the record “log.filter”.

Added the -vv and -vvv options to more conveniently enable the
verbosity level. If these try to go beyond ‘extra verbose’, the
developer messages are enabled automatically. The -devlog and
-nodevlog options enable/disable the developer messages separately.

Also, the Config module was cleaned up by moving the constants
for Log and Updater into their own modules. This way the constants
are not saved persistently.
Fixed|Log|libdeng2: Checking the Dev flag in log entries
libdeng2|Script: Functions retain their original namespace

A function should use the global namespace where it was originally
created in.