added implicit conversion of Input<T> to boost::shared_ptr<T> for non-Data T