Added bytes loader that allows processing []byte

In some situations I have raw bytes, not a string. I want to avoid unnecessary conversion so I added bytes loader that allows processing []byte type rather than string.
diff --git a/jsonLoader.go b/jsonLoader.go
index 3828397..2701191 100644
--- a/jsonLoader.go
+++ b/jsonLoader.go
@@ -229,6 +229,33 @@
 
 }
 
+// JSON bytes loader
+
+type jsonBytesLoader struct {
+	source []byte
+}
+
+func (l *jsonBytesLoader) JsonSource() interface{} {
+	return l.source
+}
+
+func (l *jsonBytesLoader) JsonReference() (gojsonreference.JsonReference, error) {
+	return gojsonreference.NewJsonReference("#")
+}
+
+func (l *jsonBytesLoader) LoaderFactory() JSONLoaderFactory {
+	return &DefaultJSONLoaderFactory{}
+}
+
+func NewBytesLoader(source []byte) *jsonBytesLoader {
+	return &jsonBytesLoader{source: source}
+}
+
+func (l *jsonBytesLoader) LoadJSON() (interface{}, error) {
+
+	return decodeJsonUsingNumber(bytes.NewReader(l.JsonSource().([]byte)))
+}
+
 // JSON Go (types) loader
 // used to load JSONs from the code as maps, interface{}, structs ...