It doesn't have to be image/x-icon, that's the MIME type for ICO (fileName.ico) files. You can also use PNG (image/png) and static GIF (image/gif) files in all browsers: en.m.wikipedia.org/wiki/Favicon
The difference is within one ICO file there are multiple images with different sizes and color depths to allow browsers to scale it appropriately. With a raster image like PNG, you'd have to link to multiple images, specify sizes, and the various browsers have conflicting rules about which one they'll pick.
If you have an ICO file at root level, browsers will check for it automatically. There are also some <meta> tag types that allow you to specify other uses for the favicon like bookmark icons.