Update external project to use 'mark_as_superbuild' function

See commontk/CTK#418
SuperBuild - Improve management of "proj" variable adding stack support

Before this commit, the "proj" variable add to be set after calling
the macro "ctkMacroCheckExternalProjectDependency". This was
required because the recursive inclusion of external project
file had the effect of overwriting the value of the project variable if
it was set before.

This commit remove this limitation by "pushing" the current project name
onto a stack and popping it out after inclusion of dependent projects
is completed.

See #418
Teach 'superbuild_include_dependencies' how to update <proj> variable.
Update ExternalProjectDependency system based on commontk/Artichoke@70ed903