[Logos::Util] smartSplit needs to not ignore same-level parens.

From: Dustin L. Howett <dustin@howett.net>

git-svn-id: http://svn.howett.net/svn/theos/trunk@643 4410221e-0ddf-4ce3-99c0-2db6c0dbc727
(cherry picked from commit 330c79022bccab58c09f85d907c92e1c0e989200)
Patches and overloads

bin/lib/Logos/Function.pm
* added addArg function to modify the function arguments array.

bin/lib/Logos/Generator/Base/Function.pm
* added dummy functions from which to override in internal/MobileSubstrate Generators.

bin/lib/Logos/Generator/MobileSubstrate/Function.pm
* added functions from Base::Function: originalFunctionName, newFunctionName, declaration, initializers.
* added originalFunctionCall for %orig directive. Uses new function getArgumentName.
* added helper functions getArgumentName, escapeFunctionPointer and notSoSmartSplit.
* escapeFunctionPointer uses Logos::Method::declarationForTypeWithName as code base to get the function pointer name starting offset to extract the argument name for %orig directive with original arguments.* notSoSmartSplit splits a string given a delimiter string.

bin/lib/Logos/Group.pm
* understood how arguments are received by perl functions and now addFunction parses them correctly, adding the function arguments using the new Function::addArg function.

bin/logos.pl
* added %orig overload allowing function hooks to call the original function using the same directive that methods use.
* removed unnceessary %origf directive now obsolete due to %orig overload.
* added &%orig overload allowing function hooks to get the function pointer to the original function using the same directive that methods use.
* updated %hookf to use Logos::Patch logic so it supports grouping.
* removed unnecessary helper functions mshookParse, mshookGetFunctionRetval, mshookGetFunctionName, mshookGetFunctionArgs.