AP_Param: replace macro that dereferences an invalid pointer with gcc
extension typeof (http://gcc.gnu.org/onlinedocs/gcc/Typeof.html)

if c++11 is used some day, this can be replaced with decltype i.e.

type_wrapper<decltype(class::element)>::type::vtype
or even
decltype(class::element)::vtype