IRenderer Interface is now IDisposable

Added ES2Renderer disposal routines and refactored many fields as
properties