Programmatic styles

Programmatic styles apply to nodes and edges.
All styles can be changed by taking a node or edge model and changing the @_state variable and calling setStyles() with no arguments.  It can also be hidden by calling the .toggleHidden() method.

Filters work as they are supposed to, though due to the edge refactor the edge types are not being applied to the classes in every instance...I'm working on tracking down why.  Filtering based on classes (though applying styles programmatically) is still the best option currently since we only have the one renderer and so we don't have to iterate through all of _edges and then each sub array just to find which ones match the filter.

EDIT: Clarification: when I say filter on classes, I don't mean using CSS at all, merely the selector to grab the dom elements.
good job using "subselections", instead of global: d3.selectAll, since all of our methods should support multiple visualizations per pages....