Auto merge of #314 - ejpbruel:trace, r=Ms2ger
Auto merge of #314 - ejpbruel:trace, r=Ms2ger

Implement a Trace trait for types that can be traced.

We expose several JSAPI functions that are used for tracing. By abstracting these functions behind
a trait we can overload them on the type to be traced.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-mozjs/314)
<!-- Reviewable:end -->

jdm/rust-mozjs,nnethercote/rust-mozjs,jdm/rust-mozjs,nnethercote/rust-mozjs,servo/rust-mozjs,servo/rust-mozjs,nnethercote/rust-mozjs,servo/rust-mozjs,nnethercote/rust-mozjs,nnethercote/rust-mozjs,jdm/rust-mozjs,jdm/rust-mozjs,jdm/rust-mozjs,servo/rust-mozjs