at the beginning of your core LUA file (along with any other library additions you might have, such as SharedMedia).
I usually register my waterfall in my Initialize function along with registering my defaults, "after" the default registers.
Depending on how you want to access your waterfall, you have to call waterfall:Open() in a function. This is how I would do it:
self:RegisterChatCommand(L["Slash-Commands"], function() waterfall:Open("TalkingSheep") end)
"title", "YourAddon Title")
-- Do other stuff here