splitCamelCase
Split a String that is using CamelCase into separate words at the case shifting boundaries.
For example, "ExampleText" to "Example", "Text"
Note that there's special handling for acronyms, so "ExampleABC" will be converted to "Example", "ABC", and "ABCExample" will be converted to "ABC", "Example" (and not "Example", "A", "B", "C" and "A", "B", "C", "Example").