Update the android viewer app and add firefox os app

The new app uses cordova via npm and has a much simpler ui.
The firefox os version still has a bug, which i'm currently fixing, but I pushed this PR for review already since the bug is a regression. Fixing it will not cause a large code change.
The java code is nearly identical to the code in programs/android. The latter will be removed in a new pr when this pr lands.
Add `DEPENDS copy_node_modules`, to tell cmake the order in which things need to be executed, so cordova is installed at the right location. Because only the copy_node_modules target ensures the folder `${CMAKE_BINARY_DIR}/node_modules` to exist.