add Loggable trait

Any object which Loggable trait is mixed-in can be emitted.

Although this commits maintains original package tree, I think it should be changed.