Issue 3402

@phtaylor viewport callbacks + refactoring
RTR2 will provide a time value in its eval context for sure. All this code will be overhauled.