code cleanup: de-duplicate cast modifier logic, had 'optimization' which was only saving a NULL check per loop, causing most of the logic to be copied, ~130 lines.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@54988 954f8c5b-7b00-dc11-b283-0030488c597c