At the moment, nothing, these ignore the results. The only two hooks that don’t ignore results are onKeyswitchEvent and onFocusEvent. This might change in the future, but we don’t have any concrete plans yet.
There are a number of ways you can include a plugin… you can install it into the Arduino sketch dir, or you can add it to a - say - lib/ subdir of your sketch and tell kaleidoscope-builder to search for libraries there too. I usually use this second method, via git submodules.
There can be multiple layers active at the time. You can get the topmost with Layer.top(). If you want to check all active layers, you can iterate back from Layer.top() to zero, and check each one with Layer.isActive().
How might I tell kaleidoscope-builder where to look? In my sketch directory, I have a lib, which holds hardware. I can also put plugins there (lib/Kaleidoscope-TPPlugin). I’d like, however, to make it lib/plugins/Kaleidoscope-TPPlugin for better organization. How much I do that?
(If it helps, I shamelessly copied your own build environment and made some minor modifications to fit my own needs.)