[Node] Show/ Hide Accessibility Improvements

Show/ hidden states of a node need to be properly communicated to AT users. This small fix modifies the <code>_show</code> and <code>_hide</code> methods to set or remove a node's <code>hidden</code> attribute, which has a more semantic meaning and is supported by screen readers. It also has the benefit that supporting browsers will hide the content (equivalent to <code>display: none</code>) without having to specify the CSS manually (by the user or framework) on the node itself. For older browsers that do not automatically hide the content via the hidden attribute, the style <code>display: none</code> still still needs to be used, however the state will still be communicated properly with the hidden attribute. This minor fallback could be done via conditional loading but I felt that it was too small of a change to warrant the overhead, and so I left it in the node-view.js unless it is suggested otherwise.

I also updated the <code>_isHidden</code> method to check for the hidden attribute, added toggle to the Showing and Hiding example, and a section on how to check for visibility using the hidden attribute.

This request includes the changes to node-view.js, along with the unit tests, API docs, and example docs.