Clean up bindonce scoping

Each bindonce directive has a scope of its own and causes unnecessary
overhead without any benefit to us. As rebinding will be per-scope, we need to
consolidate this anyway in the near future.