major rework:
- render wrapper element which applies transitions instead of defining
  the element in the HTML by a client;
- use 'transitionend' event to set focus;
- trigger 'prompt-open' event when the transition is finished and the dialog is fully setup;
- made tests async because of unpredicted lenght of transitions when prompt is opened;
- trigger 'prompt-close' when the prompt is hidden;
- tests;