app: use the "no-cpu-accel" command line option again

Call gimp_cpu_accel_set_use() in app_run(). Add "use_cpu_accel"
parameter to gimp_new() and keep it around in the Gimp instance. Pass
the flag to plug-ins again.
app: remove forgotten members from struct GimpOperationReplaceMode
app: Change the opacity param of _pixels to gfloat

All the internal math is float, and avoiding the conversion
from double is much faster when using SSE math.
Bug 701335 - Gimp crashing on creating huge clipboard brush

Change the maximum size of clipboard patterns and brushes to 1024x1024.
app: gimp_display_shell_selection_init(): fix declaration after statement
Bug 701410 - Small artifacts appear when performing a selection

Do not allow negative radius.
Remove duplicated word from a command's description.

It said "specified specified".
Really fix the incorect blurb in PDB.

It still said "specified specified".
Bug 702369 - foreground selection doesnt work with image precision >8 bit

This removes the obsolete check which makes the tool fail from
gimp_display_shell_set_mask(). Also change the foreground select tool
and the display mask from using GimpChannel to GeglBuffer, because
that's what it needs, simply buffers. Most changed files simply newly
include <gegl.h> because a GeglBuffer appeared in two headers.
app: properly initialize variables
app: properly initialize more variables
Found by Coverity
app: fix previous commit
app: I actually tested it this time
Add support for both gamma-corrected and linear for all bit depths

- Add new enum GimpComponentType which contains u8, u16, u32 etc.
- Change GimpPrecision to be u8-linear, u8-gamma, u16-linear etc.
- Add all the needed formats to gimp-babl.c
- Bump the XCF version to 5 and make sure version 4 with the old
  GimpPrecision enum values is loaded correctly

This change blows up the precision enums in "New Image" and
Image->Precision so we can test all this stuff. It is undecided what
format will be user-visible options in 2.10.
app: show the dither dialog when converting between linear and gamma

within one bit depth.
app: fix tests after the GimpPrecision enum change
libgimp: add gimp_component_type_get_type() to gimp.def
app: follow the GEGL invert -> invert-linear vs. invert-gamma change

and invert masks using invert-linear and other drawables using
invert-gamma. drawable_invert_cmd_callback() still always uses
invert-gamma even though it can be used on layer masks.
app: port GimpImagePropView's file size querying to GIO
Add SSE3, 4, and AVX gimp_cpu_accel checks