Add OSD base class

This will help avoid re-implementing OSD code everywhere
Extend base OSD class
Convert abstract Animation to an interface
Update FadeOut for new Animation spec
Update for animation interface change
Update project files