Make GstElementPtr as template class.

Type is GstElement that holds in container.
It makes correct casts for GstBus.
It is bad when GstBus casts to GstElement
and holds in this way in container.
Remote cpp file for GstElementPtr.
Merge branch 'make-gstelement-tempalte'