This commit implements much of the base functionality for creating and destroying keyframes in the UI. Not complete yet, but getting there.
Later classes will feature similar functionality to the TimelineView, moving them to a base class that can be easily reused seems like a good idea.