Optimzations and more!

* Added #define for using floats instead of doubles for most all
  calculations
* Added flags for building w/ FFTWF (floats), using FFTW wisdom, and
  using FFTW threads.
* Added wisdom files; these can improve the runtime of the FFTW calls,
  but need to specified for each platform/fft type/fft size/#threads
* Use SDK style index.html/common.js
* Removed stale configuration options from example page
* Moved code out of index.html into example.js
* Added Timer class to profile frame (3 FFTs dominate usually, but
  smoother apply is slow too)
* Optimized the wrapped stretch blit code
* Optimized Simulation::Update
* Optimized Smoother::Apply some (mostly reducing the lookup size)
Add "setSize" message to set the buffer size.

Allowable sizes are NxN, where N is 256, 384, or 512.
Remove ppapi_simple, use regular ppapi_cpp.

This will make it easier to port to pepper.js, and reduces the .pexe
size too.
Fix bug found in pepper.js w.r.t Graphics2D::Flush

The PPAPI documentation says that an "unbound" Graphics2D context will
have its Flush callback called, but a "released" context won't
necessarily.

I haven't seen a case where this fails on Chrome PPAPI, but this fails
consistently in pepper.js. The fix is to keep a reference to the
flushing context, so it is "unbound" but not "released".
Optimize Graphics2D usage

* Use ReplaceContents instead of PaintImage2D
* Use native image data format, instead of defaulting to BGRA.