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.

How to:
```scala
case class Foo(i: Int) extends Loggable {
  val tag = "Foo"

  def toEvent = Event(tag, System.currentTimeMillis, Map("i" -> i))
}

val f = Foo(1)
logger.log(f)

```