Mobile patch for android stock browser support

I've come up with this solution to fix this problem, it happens to work
pretty well with rev67-master by using only the refresh hack while I had
to add part of the build of rev67 into the latest to make it working
again as from rev68 and going (69 dev) the vast majority of the demos
that worked weren't working anymore while they do work now and they show
more geometries with this mod :/

Below, a list of the files tested on a GT-P3110 and a M-MP84S4 as a test
case; both devices were tested on rev67 master with modded-index
only(best results) and one of the latest devs ( build 69dev);with the
fix, the list is almost compatible but you get better results with
devices like the first one.
Where you see "errors" in the filename I strongly believe to check the
loaders, z indexes of layers or buffers as well as missing shader
capabilities(but that's obvious and I don't pretend such demos to
work);by the way,there are some differences as dynamic geometries are
working while animations(probably due to loaders) aren't working..Not
only that but probably some values are reversed on ARM,not even on the
browser level but on a lower level(but I'm guessing on the latter).
Any hint on the issues would be really appreciated S)

When you don't see any comment after the file name, that file has to be
considered "playable/perfect" (starting from stock 4.1.2 , I don't know
anything about other devices than those discussed here,updates are
welcome) !!
This video explains the bug https://www.youtube.com/watch?v=P_i0uOPWBuI.
This other video is to be considered a test case
https://www.youtube.com/watch?v=eNAzNm-PD1o but don't blame too much
because it was the first time recording like so.
Might be of help to someone who doesn't know when the browser hanged,if
it is hanging,or if some buffer has been rewritten accidentally and
needs to be reloaded (webgl_shaders_ocean in the video near the end,I'll
update relevant informations with time tags soon).

I've tried to show this behaviour in the other video but I've failed
,probably due to a lack of framerate/bitrate from the RT encoder or
because of hardware limitations.
Anyway,hope this helps :)

P.S. : the fix has to be included in every html page if you want each
one of them to be shown properly on android stock browser and others.

var files = {
"webgl": [
"webgl_animation_cloth",
"webgl_animation_skinning_blending(errors)",
"webgl_animation_skinning_morph(errors)",
"webgl_buffergeometry",
"webgl_buffergeometry_custom_attributes_particles",
"webgl_buffergeometry_lines",
"webgl_buffergeometry_lines_indexed",
"webgl_buffergeometry_particles",
"webgl_buffergeometry_rawshader(errors)",
"webgl_buffergeometry_uint(errors)",
"webgl_camera",
"webgl_camera_logarithmicdepthbuffer(slow)",
"webgl_custom_attributes",
"webgl_custom_attributes_lines(slow)",
"webgl_custom_attributes_particles(slow)",
"webgl_custom_attributes_particles2",
"webgl_custom_attributes_particles3(slow)",
"webgl_effects_anaglyph(errors)",
"webgl_effects_crosseyed",
"webgl_effects_oculusrift(errors)",
"webgl_effects_parallaxbarrier(errors)",
"webgl_geometries",
"webgl_geometries2",
"webgl_geometry_colors",
"webgl_geometry_colors_blender(errors)",
"webgl_geometry_colors_lookuptable",
"webgl_geometry_convex",
"webgl_geometry_cube",
"webgl_geometry_dynamic",
"webgl_geometry_extrude_shapes",
"webgl_geometry_extrude_shapes2",
"webgl_geometry_extrude_splines",
"webgl_geometry_extrude_uvs2",
"webgl_geometry_hierarchy",
"webgl_geometry_hierarchy2",
"webgl_geometry_large_mesh(errors)",
"webgl_geometry_minecraft",
"webgl_geometry_minecraft_ao(NEEDS AO,HANGS BROWSER-DEVICE OTHERWISE)",
"webgl_geometry_normals",
"webgl_geometry_nurbs",
"webgl_geometry_shapes",
"webgl_geometry_subdivision(errors)",
"webgl_geometry_terrain(works with errors,might hang when closing)",
"webgl_geometry_terrain_fog(works with errors,might hang when closing)",
"webgl_geometry_terrain_raycast",
"webgl_geometry_tessellation",
"webgl_geometry_text",
"webgl_gpgpu_birds(errors)",
"webgl_hdr",
"webgl_helpers(errors)",
"webgl_interactive_buffergeometry(slow)",
"webgl_interactive_cubes(slow)",
"webgl_interactive_cubes_gpu",
"webgl_interactive_draggablecubes(slow)",
"webgl_interactive_voxelpainter",
"webgl_kinect",
"webgl_lensflares(slow)",
"webgl_lights_hemisphere(errors)",
"webgl_lights_pointlights(too big,errors)",
"webgl_lights_pointlights2(too big,errors,hangs browser)",
"webgl_lines_colors",
"webgl_lines_cubes",
"webgl_lines_dashed",
"webgl_lines_sphere",
"webgl_lines_splines",
"webgl_loader_assimp2json(errors)",
"webgl_loader_awd(errors)",
"webgl_loader_collada(errors)",
"webgl_loader_collada_keyframe(errors)",
"webgl_loader_collada_skinning(errors)",
"webgl_loader_ctm(errors)",
"webgl_loader_ctm_materials(errors)",
"webgl_loader_gltf(errors)",
"webgl_loader_json_blender(errors)",
"webgl_loader_json_objconverter(errors)",
"webgl_loader_obj(errors)",
"webgl_loader_obj_mtl(errors)",
"webgl_loader_pdb(errors)",
"webgl_loader_ply(errors)",
"webgl_loader_scene(errors)",
"webgl_loader_scene_blender(errors)",
"webgl_loader_stl(errors)",
"webgl_loader_utf8(errors)",
"webgl_loader_vrml(errors)",
"webgl_loader_vtk(errors)",
"webgl_lod",
"webgl_marchingcubes",
"webgl_materials",
"webgl_materials2",
"webgl_materials_blending",
"webgl_materials_blending_custom",
"webgl_materials_bumpmap(errors)",
"webgl_materials_bumpmap_skin(errors)",
"webgl_materials_cars(errors)",
"webgl_materials_cars_camaro(errors)",
"webgl_materials_cubemap(errors)",
"webgl_materials_cubemap_balls_reflection",
"webgl_materials_cubemap_balls_refraction",
"webgl_materials_cubemap_dynamic(errors)",
"webgl_materials_cubemap_dynamic2(errors)",
"webgl_materials_cubemap_escher(errors)",
"webgl_materials_cubemap_refraction(errors)",
"webgl_materials_grass",
"webgl_materials_lightmap(errors)",
"webgl_materials_normalmap(errors)",
"webgl_materials_normalmap2(errors)",
"webgl_materials_shaders_fresnel(errors,hangs browser-device)",
"webgl_materials_skin(errors)",
"webgl_materials_texture_anisotropy(works,device dependant)",
"webgl_materials_texture_compressed(errors)",
"webgl_materials_texture_filters",
"webgl_materials_texture_manualmipmap",
"webgl_materials_video(errors)",
"webgl_materials_wireframe",
"webgl_mirror(works,shader dependant)",
"webgl_morphnormals(errors)",
"webgl_morphtargets(GUI works,loader doesn't)",
"webgl_morphtargets_horse(errors)",
"webgl_morphtargets_human(errors)",
"webgl_morphtargets_md2(errors)",
"webgl_morphtargets_md2_control(errors)",
"webgl_multiple_canvases_circle",
"webgl_multiple_canvases_complex",
"webgl_multiple_canvases_grid",
"webgl_multiple_views",
"webgl_nearestneighbour",
"webgl_octree",
"webgl_octree_raycasting(errors)",
"webgl_panorama_equirectangular(errors)",
"webgl_particles_billboards",
"webgl_particles_billboards_colors",
"webgl_particles_dynamic(errors)",
"webgl_particles_random",
"webgl_particles_shapes(slow)",
"webgl_particles_sprites",
"webgl_performance(errors,too many)",
"webgl_performance_doublesided(slow)",
"webgl_performance_static(errors,too many)",
"webgl_postprocessing",
"webgl_postprocessing2(slow)",
"webgl_postprocessing_advanced(errors)",
"webgl_postprocessing_dof(slow)",
"webgl_postprocessing_dof2(too much)",
"webgl_postprocessing_godrays(errors)",
"webgl_postprocessing_crossfade",
"webgl_rtt(errors,maybe z-buffer-layers)",
"webgl_sandbox(too slow,too many)",
"webgl_shader",
"webgl_shader2",
"webgl_shaders_ocean(might work if fixed accordingly)",
"webgl_shaders_ocean2(errors,hangs browser)",
"webgl_shader_lava",
"webgl_shading_physical(errors)",
"webgl_shadowmap(errors)",
"webgl_shadowmap_performance(errors,too many)",
"webgl_sprites(works,white-negative background)",
"webgl_terrain_dynamic(errors)",
"webgl_test_memory",
"webgl_test_memory2",
"webgl_trails(works,no trails)"
],
"webgl3": [
"webgl3_performance(errors,too many)"
],
"webgldeferred": [
"webgldeferred_animation(errors)",
"webgldeferred_arealights(errors)",
"webgldeferred_pointlights(errors)"
],
"css3d": [
"css3d_molecules(errors)",
"css3d_panorama",
"css3d_periodictable",
"css3d_sandbox",
"css3d_sprites(too much)",
"css3d_youtube"
],
"misc": [
"misc_animation_keys",
"misc_controls_deviceorientation",
"misc_controls_fly",
"misc_controls_oculusrift(errors)",
"misc_controls_orbit",
"misc_controls_path",
"misc_controls_pointerlock(errors)",
"misc_controls_trackbal",
"misc_controls_transform",
"misc_lights_test(slow)",
"misc_lookat",
"misc_sound(except no sound)",
"misc_ubiquity_test",
"misc_ubiquity_test2(errors)",
"misc_uv_tests"
],
"canvas": [
"canvas_ascii_effect",
"canvas_camera_orthographic",
"canvas_camera_orthographic2",
"canvas_geometry_birds",
"canvas_geometry_cube",
"canvas_geometry_earth",
"canvas_geometry_hierarchy",
"canvas_geometry_nurbs",
"canvas_geometry_panorama",
"canvas_geometry_panorama_fisheye",
"canvas_geometry_shapes",
"canvas_geometry_terrain",
"canvas_geometry_text",
"canvas_interactive_cubes",
"canvas_interactive_cubes_tween",
"canvas_interactive_lines",
"canvas_interactive_particles",
"canvas_interactive_voxelpainter",
"canvas_lights_pointlights(errors)",
"canvas_lines(buffer error)",
"canvas_lines_colors",
"canvas_lines_dashed",
"canvas_lines_sphere(buffer error)",
"canvas_materials(buffer error)",
"canvas_materials_depth",
"canvas_materials_normal(errors)",
"canvas_materials_reflection(errors)",
"canvas_materials_video(no video)",
"canvas_morphtargets_horse(errors)",
"canvas_particles_floor(buffer error)",
"canvas_particles_random(buffer error)",
"canvas_particles_shapes",
"canvas_particles_sprites",
"canvas_particles_waves(buffer error)",
"canvas_performance(slow)",
"canvas_sandbox"
],
"raytracing": [
"raytracing_sandbox(too much)"
],
"software": [
"software_sandbox"
]