Make icon qrc optional

Icon files no longer need to be included in the executable, instead
the icons are loaded from the file system.
On Linux systems, most of the icons come from the system theme.
Pass -DBUILTIN_ICONS=on to cmake to compile the icons in.
Add file extensions to non-theme icon lookups