Interface denoting that a class is the interface to a module with the same name in JS. Calling
functions on this interface will result in corresponding methods in JS being called.
When extending JavaScriptModule and registering it with a CatalystInstance, all public methods
are assumed to be implemented on a JS module with the same name as this class. Calling methods
on the object returned from
ReactContext.getJSModule(java.lang.Class<T>)
or
CatalystInstance.getJSModule(java.lang.Class<T>)
will result in the methods with those names exported by
that module being called in JS.
NB: JavaScriptModule does not allow method name overloading because JS does not allow method name
overloading.