Clean up periodic updates based on tick counter.

Add functions to periodically update individual components.
interface: Add interface_update().
viewport: Add viewport_update().