Refactoring in preparation for threaded OpenCL kernel compilation

Introduce a new abstract class CompiledFormula, of which the
(existing) class BinaryKernel, that represents one OpenCL kernel, is a
concrete subclass.

Change-Id: I70fd26fa4bd3de026276727bf9fa8ed01bfb62c9
Make it clear in comments what kind of "code generation" they mean

Change-Id: I1a21ba33dd5c5c87938efaa9a779e2eab4f2778c
WIP: Do OpenCL compilation in advance in a worker thread

Change-Id: I9fbf848bd487e5ea49a383461f04e3c1678af607
Add "sc.opencl" logging area

Change-Id: Icd851c17bab1f55cd16d5a48cc71ff2ac91daa2c
Point to the group's top cell in ScFormulaCellGroup instead of the top row

It will make implementing the background compilation of OpenCL kernels
easier, I hope. That needs data accessible through the ScFormulaCell.

Change-Id: I77ad5a94eb13551e6238d5f5285f1c916d7cb992
Use the more generic CompiledFormula type

Change-Id: I91d2e956b76919c56d14712789198c3c10470742
WIP commit of threaded OpenCL compilation work

Change-Id: I210d0ded9cb38569b0831355522d8309cee05f56
WaE: unused parameters

Change-Id: Ic7c0b5273bc585757abb070ed71ab0cc04bd0304
Avoid crash in unit test

Change-Id: Ic452c1a2a8a7099a22584130e6a161c25bccabae
WIP: Background ahead-of-time OpenCL compilation

Change-Id: I6e9906fb68a22eb0adab753726ec0d62dd05fe9b
WIP: Background ahead-of-time OpenCL compilation

Work in progress, does not work. That's what WIP means.

Change-Id: I31459624a45370384e00392937ac9a5b9cd893c2
Fix some life-cycle issues for backgroup OpenCL kernel compilation

Now it no longer asserts or crashes in light testing, but it doesn't
properly recalculate either.

Change-Id: I7dc117341eff5ac1b21d7400122cc6e04ae2baf7
Try to make the background OpenCL compilation conditional at run-time

Change-Id: I2366465f4e786f905c32b17a15c16486c4c21d38
Fix leftover wrongly named header in #include

Change-Id: Id874d1b845dc2dc5265cb0aa4dccd2b8de57088e
Bin comment that is now weirdly placed after merges

Change-Id: I1cd92ae150be15c4b34249a8116c5f0a7b99f33f
Fix a few of my own thinkos, and add some assertions

Fix two obvious mistakes from 8c37bafbc5adc0c79f218f9db2dc25ca8e683125.

Add asserts to make sure the calls to ScFormulaCell::CreateCellGroup() that
now don't take the nStart parameter any more (but assume that the cell for
which this methoid is called is the start one) match the old ones in semantics.

Change-Id: I50cb0cdaf620253881225baf39ae9cd935917b27
DynamicKernel isn't needed outside formulagroupcl.cxx after all

So put it back there.

Change-Id: I7c78719c95123e33e4506ace912ff056df56b247