Two ol.source.TileVector fixes

This PR includes two commits. The first commit fixes #2918, where the `TileVector` instance set its state to `ERROR` as soon as a tile fails to load (404 for example). The second commit fixes #2970, where `TileVector` cannot be used with a tile grid that is not an `ol.tilegrid.XYZ`.

Please review.

Closes #2918.
Closes #2970.