Add base dialog class that can be used to implement responsive JS dialogs

Does this need a TODO? is the animation coming later?