Use AssetManager buffer instead of copying bundle
Use AssetManager buffer instead of copying bundle

Summary:
The current JSLoader implementation (on Android) will copy the buffer into a JSBigBufferString during startup. This duplicates work Android is already doing (it allocates creates a copy of the bundle in memory while decompressing the asset from the APK) or worse, if the APK is mmap'ed this will unnecessarily create dirty memory.

The risk with this approach is that the bundle loaded from disk is no longer \0 terminated, but that's also the case for the bundles we load with `JSBigFileString` and is not an issue as  far as I can tell.

Changelog: [Internal]

Reviewed By: mhorowitz

Differential Revision: D33792735

fbshipit-source-id: 61fc089a223f3602d3575340d79a8de2ec92d8a0

javache/react-native,javache/react-native,facebook/react-native,janicduplessis/react-native,facebook/react-native,janicduplessis/react-native,janicduplessis/react-native,javache/react-native,facebook/react-native,facebook/react-native,janicduplessis/react-native,facebook/react-native,javache/react-native,javache/react-native,facebook/react-native,janicduplessis/react-native,javache/react-native,javache/react-native,janicduplessis/react-native,javache/react-native,javache/react-native,facebook/react-native,janicduplessis/react-native,facebook/react-native,facebook/react-native,janicduplessis/react-native