Added Dialogs

Added easy dialog functionality. Currently supports showing info, warning, error, and plain message dialogs, as well as custom-icon dialogs.

For the sake of the custom icons I added a way to load images (without using the <img> tag). I put it in io/images.js instead of io/files.js. I did that because this is for reading images as images rather than reading files as text. You can move it if you want.