fix for goovy SEGV of nodelet mux

* use ros::Subscriber's pointer
* use topic_tools::ShapeShiter rather than ShapeShifterEvent
* not call getPrivateNodeHandle so many times