[EXPERIMENT] Rewrite the back-end on coffee
port 'main' and 'app' to coffee
port all the front-end to coffee
fix coffee portings, adjust bullets behavior