Allow the user to define a custom bar button for done and cancel

The bar button's target and action properties are weakly protected because they are overridden in the setters, but they could be changed after the fact if the user retains a handle to them.