Make submodule and directory rules order-only prerequisites on objects
This instructs make to run the tinyusb and directory rules before
building any objects. Docs: [1].
After this change, `make clean` started running
the tinyusb submodule rule before cleaning. This appears to have been
caused by one of the `build/*.d` files overlapping with the `tinyusb`
name, triggering that rule. I didn't trace this all the way down to a
root cause, but switching the include to something less broad solved the
issue. Roughly guided by [2].