re-align '*_inside' functions and remove 'gv_initShapes'
This is in some ways a continuation of !3549 (merged). The changes in that MR opened the way to remove shape initialization altogether by removing stateful pieces in the *_inside
functions. See commit messages for details.