multiple modal and button support

modals are now generated on the fly, and use event handlers to set
button actions to each modal allowing for queue based modals. I added a
pretty in depth example