added overridable node drawing methods:
drawNodeShape (used by drawNode)
drawHoverNodeBorder/Shape (used by drawHoverNode)
drawActiveNodeBorder/Shape (use by drawActiveNode)

The drawing functions gets color, x, y and size as parameters, and draw to a ctx parameter. Optionally the drawing functions can use the node.attr data to do additional stuff (may be used by plug-ins later on).
The drawing functions adhere to keeping the drawn shape in the radius of 'size' - so that other graph calculations work well.

In the default case - all functions draw a filled circle according to the passed parameters. This is identical to the current behavior.