Refactoring CTFE interpreter code

This is a pretty big step backwards...