Yeah, you *can* program what you want with the Teensy 3.0/3.1. But using Hasu’s firmware will get you something that has been tested much more, has a lot of useful features, and is very easy to do relatively sophisticated stuff with.
If you have very simple needs, your method will be okay probably. Or if you have very complex features that Hasu’s firmware doesn’t include (e.g. runtime macro recording), you might need to write your own firmware from scratch anyway.
But for the general case, I’d recommend just buying a Teensy 2.0 (or a $6 chinese Arduino Micro clone from ebay) and using tmk_keyboard. This well get you up and running fast, and let you set your keyboard up the way you want it, and make sure that you don’t end up with dropped keystrokes, duplicate keystrokes, etc. (all the simple bugs have already been fixed).
You can then play around with the Teensy 3.1 at a more leisurely pace, while you get to actually use your keyboard to type on in the mean time. The Teensy 3 is a much more powerful chip, so if you go on to work on more sophisticated electronics projects, I’m sure you’ll be able to find a use for it.
Basically, I’d recommend trying to make the hardware/programming side as simple as possible, so that you can test and iterate on your physical layout. Once you have the physical layout figured out, come back and reimplement a new keyboard firmware from scratch if you want.