Convert the Neubot::Pollable class into the NeubotPollable struct

In this way, we can avoid the static cast to a struct from a class (which
can possibily add some fields), by inerithing a struct from another struct.

What's more, it is now necessary to explicitly declare whether methods and
attributes are private, since classes and structs have a different default
policy.