Build on Solaris (10, at least)

Requires GNU make and gcc.
Add fz_write_buffer_rune to append a utf-8 character to a buffer.
Move text searching function into fitz.
Add functions to highlight and copy text selections.
Only invert color values, not alpha, in fz_invert_pixmap_rect.
Fix build with openjpeg-1.5.1
Rejig cmyk_to_rgb to avoid repeated muls.

Avoid repeated muls by reusing intermediates. Speed generation
of those intermediates by using adds/subs rather than muls.
Implement fast_cmyk_to_rgb without calling cmyk_to_rgb.

Same algorithm, just implemented in fixed point with a 1 place cache
and checks for trivial black/white rather than floating point.
javascript fix typo in util function
Android: implement alert dialog
Attempt to speed up fax decompression.

A huge number of calls are made to getbit from find_changing in fax
decompression. On Android profiling shows that this accounts for 25%
of time in handling page 2 of IA3Z0845.pdf.

Rewrite code to deal with bytes at a time for speed. Profiling
now shows 5% in this function.
Enable android profiler build.

Requires android-ndk-profiler to be copied into android and android/jni.
Also requires r8c of the NDK.
Unroll inner loop of ARM version of scale_row_to_temp1.

This avoids a stall, and saves time on repeated loops.
Tweak image decode downscale factor internals.

When calculating the factor to use for image downscales, calculate it
as a shift rather than a divisor.
Add image subsampling function.

When drawing images, if they are much bigger than we need, quickly
subsample them. Makes images much more cachable, reduces time spent
in expensive smooth scaler.
Rename "tolower" back to "fz_tolower"

to avoid clashes, especially on systems where "tolower" is declared as a
macro, for example Cygwin.
Missed Core2.mk in the profiler commit.

Forgot to add a new file to git.
Android: use AsyncTask from android source

We need this because only later version of AsyncTask supported
executeOnExecutor. We have one task that must not be sequentialised
with others, so we need to be able to garantee it gets its own thread
Android: remove SafeAsyncTask

No longer needed because apparently the lastest AsyncTask implementation,
that we've included from the android source, has an unbounded queue.

This wont lead to us doing unbounded renders before the one we actually
want because we cancel all but the ones we want.
Obsess about whitespace.