Remove pinhole camera, add multi-threading support