[vector-api] Only support square tiles

Supporting non-square tiles makes the code for HiDPI support of tile layers rather tricky to write. For example, it opens the possibility that HiDPI tiles could have different pixel ratios in the X and Y dimensions. It also means that a lot of `ol.Size` objects get passed around. These are mutable `Array.<number>`s, so you need to be very careful about not modifying the original versions (HiDPI code does a lot of scaling of sizes), and if you clone `ol.Size`s then you end up generating a lot of garbage. Making tile sizes a single `number` makes the code simpler and faster.