Add png icon support for browsers that don't support svg files

The pull request includes changes suggested by @juyrjola (https://github.com/ernoma/navigator-proto/commit/692bb0529470268f6fb868f49c0292ce0ff11c71). As @tuukka requested, there is now the icon task to generate png icons from svg icons only if there has been changes in the images directory. This might look a bit hack but it works well and maybe in future grunt will include a good way to do this (see: https://github.com/gruntjs/grunt/pull/851). Also, as @tuukka requested the class="citynavicon-myicon" is only applied after page has been created when iconprovider.modify_img_elements() is called. Icons now correctly show on Windows 8 phone. Tested with Nokia Lumia 520.