always do expensive icon loading on a background thread
consolidate `setIcon` and `updateIcon`

The previous commit starts icon loading on another thread, but for the
UI to know when the icon is ready, every instance of
`loadIconForObject` would have to be modified to call `updateIcon`.
Almost all of them currently call `setIcon`. This should allow
`setIcon` to correctly handle updated icons, but without sending a
notification every time it's called.
don't spawn another thread for web search icons

loadIconForObject is already on a background thread
remove the `previewIcon` method

For file objects, `loadIconForObject` was doing two things: loading a
more generic icon that can be gotten to quickly, then calling
`previewIcon` to handle the more expensive preview generation in the
background. The first task is the job of `setQuickIconForObject`, so
that code has been relocated to that method. The expensive preview
generation was moved from `previewIcon` to `loadIconForObject`, since
it always runs on a background thread now.
post the notification *after* an icon is changed
don't bother logging for updateIcon

It was used in very few places.
add retina icons
replace NSMakeSize() with pre-defined QSSizes
replace hard-coded sizes with QSMaxIconSize

…in places where it makes sense to do so.
allow for 256x256 icon representations
get the max icon size from the active interface

fixes #1044

Previously, it would stay at the default 128x128 unless you manually
changed the interface after every launch.
make some hard-coded values relative

Some of the code seems to have been based on the assumption that max
icon size will always be 128 x 128.
trigger window icons should be hard-coded to 128x128
avoid a notification and call interfaceChanged directly
remove calls to createIconRepresentations and createRepresentationOfSize:

These shouldn't be necessary any more.
retain quality for shrunken images

and remove unnecessary code to create a specific representation
remove duplicate definition of QSMaxIconSize
ignore interface icon size, start big and let NSImage do the right thing

The QSMaxIconSize should only apply to the main interface, not all these other contexts.
set image scaling for QSObjectCell
use a copy of the find icon

makes sure this method has exclusive control of the image's size