script injector

implementing fix for #216 that provides a better way to display in-browser notifications
also includes major changes to the server and printing/notification system