ENH: change slice view color setup to use layout color instead of hard-code. per millerjv

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20454 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix slice intersection display

Rearranges vtkMRMLModelSliceDisplayableManager to listen to events through
DisplayableNode only. Corrects handling of scene updates and large changes
by watching Scene Start/EndClose and EndBatchProcess events.

Closes #1384 #1536 #1632 #1650

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20455 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Ensure generic loadable module test compiled externally can be executed

There are two cases:
 1) Test compiled within Slicer build tree: located along with SlicerApp-real
 2) Test compiled outside of Slicer build tree

In the second case, when qSlicer(Core)Application is instantiated within
a test, the applicationDirPath resolved to the test executable itself.
The method "QCoreApplication::applicationDirPath" being used, it was NOT
returning the SlicerApp-real path.
This was causing problem and the SlicerBin could NOT be computed adequately:

1: ASSERT: "qSlicerUtils::pathEndsWith(this->SlicerBin, Slicer_BIN_DIR)" in file /Users/millerjv/Projects/Slicer4-git/Slicer4/Base/QTCore/qSlicerCoreApplication.cxx, line 414


The implemented solution attempts to compute the SlicerBin only if SLICER_HOME
hasn't been set. The launcher taking care of setting this environment
variable, test instantiating a qSlicer(Core)Application will work
as expected.

See http://www.na-mic.org/Bug/view.php?id=2248

Fixes #2248

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20456 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Extensions build using the build system are configured with a boolean option

If it applies, this boolean option (named "<EXTENSION_NAME>_BUILD_SLICER_EXTENSION")
being passed when the extension is configured by the extension build system
allows the extension to conditionally build code.

See http://www.na-mic.org/Bug/view.php?id=2243

Fixes #2243

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20457 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Turn off the BRAINSSurface tools

The BRAINSSurface Tools are not yet ready for
public deployment.  They are currently turned
off by default.
ENH: Update to latest ITK version.
COMP: Remove deprecated functions from use

In ITKv4 the itkLegacyMacro allows deprecated
functions to be easily identified.  These functions
have been replaced with their modern equivalents.
COMP: The compiler options must be propogated

Compiler options selected in the main Slicer4
Superbuild harness needs to be propogated to
each of the subsequent External_project builds.

This was tested by setting
export CC=/dev/null
export CXX=/dev/null
cmake -DCMAKE_C_COMPILER:PATH=/usr/bin/gcc -DCMAKE_CXX_COMPILER:PATH=/usr/bin/g++
and then compiling all of Slicer.

Propogate the necessary compiler flags to each
external package consistently.  Additionally,
only propogate the flags that are explicitly needed
for that external project.  In many cases, only the
C compiler options need to be propogated.

Slicer compiler options needed by Extensions as well.
The extension need to have the same compiler used
as the primary Slicer build.
COMP: Update python mac build parameters

Commented out the --with-tcl option for Python, because it is not valid
--with-tcl is not a valid option for either Python 2.6 or Python 2.7

http://bugs.python.org/issue11334 indicates that dynamic_lookup
causes build issues for unix based python installation on Mac.
This was confirmed on 10.7.4