Implement InputIs2D logic to enhance performance of procedural generation.

Summary: This implements InputIs2D boolean array on all algorithms.  The runtime layer uses this to analyse whether or not the generation of the inputs should have a Z depth of 1 at a Z index of 0.  Overall, including the previous 2D optimization, this results in a 3.5x faster generation over the unoptimized version.  Generation of a 32x32x32 area now takes only 740 microseconds (down from 2500 microseconds). By odd coincidence, this means the optimized runtime version is as equally fast as the last working compiled version.  If we applied these same optimizations to the lightspeed compiler, we could have the generation of a 32x32x32 area happening in under 250 microseconds (3.5x applied once again).

Test Plan: Build and run the game; everything should generate and behave as normal.

Reviewers: Sabre070

Reviewed By: Sabre070

Maniphest Tasks: T98

Differential Revision: http://code.redpointsoftware.com.au/D65