Allow foundationButtons method to be safely called on any element

Prevent duplicate event binding by only binding if the current element
is document.

This allows activation of dropdown buttons that were added to the DOM
after initialization by calling $('#myelement').foundationButtons()
after insertion.

Also, includes bugfix where preventDefault was being incorrectly called
when clicking a descendent of a link (e.g. an embedded `<img>`).