> It's fun until you realize Cortex M0 doesn't have a VTOR.
One of the many annoying limitations of the M0. Thankfully ARM seems to agree, and they've added the VTOR(s) to the M23 (the ARMv8M successor to the M0).
The tutorial is about SAMD21 which is M0+ with VTOR. Simple bootloaders often don't need interrupts so on M0 one can get away with placing the bootloader at the end of flash and only rewriting the reset vector to lead to bootloader. Regular interrupts are then handled without any delays.
Yes, there are probably some. I've worked with quite some M0 chips from Renesas, STM and Freescale and none of them had a VTOR. I heard (some?) M0s from NXP have it, though. For portability I always include manual remapping anyway.