Ah, I thought we were done with the whole power of two restriction years ago, but it turns out WebGL has some unusual limitations with tiled non-power-of-two textures. I guess it's because it has to work on mobiles which don't have graphics cards with the same features as desktops.
There is a workaround, which is to stretch the texture to a power-of-two size, but it can make it look a little blurry. It's all that I can do I think though.