HTML5 notifications are great for some applications, but they require the user to grant permission before receiving notifications. It solves a different problem than the favicon notification technique.
Both PNGs and ICOs should definitely work. Unless you specify a favicon in the function call, it will look for the one specified in your head. If one is not specified in your head it will use the default favicon location (/favicon.ico).
This was inspired by the favicon notifications for gmail. I'll add an exception for clients without canvas, but it should be as fully compatible as is possible.
http://www.html5rocks.com/en/tutorials/notifications/quick