Cleanup preferences class

No function change, just remove inline qualifiers and
use references instead of values.
Implement anti-idle
Fix typo
Make preference window modal
Add text antialiasing
Implement emoticon viewer

Add a list model class that is based on a JSON file. We'll
reuse that for the site manager later. A function is also
added in Globals (UJ::absoluteDataStoragePath) as a
convenience shorthand to obtain a writable path for data
files.

This one requires much more work than I anticipated, to
be honest.
Code cleanup in Site
Enhance JsonFileListModel

Now JsonFileListModel can hold multi-column data.
I think we can convert it into an abstract model as base
to both a list model and table model pretty easily in the
future, if needed -- Not now.
Fix crash due to SSH signal redefinition
Implement Site Manager