fixing handling of some higher-order-function case found while writing the paper, see description

now this example works:

a = <fill red>
b= <box>
a b
minor comment updates to tests
added to do comment about beautification step
the notation "-> a()" is now simplified to "a"

unsure whether it’s worth it, it’s clearer for some aspects and less
clear for others.
adding commented-out code for seeding "random" and "noise" at the beginning of each function invocation
new version of old Autocoder. Will need refactoring.
anonymous functions defined via brackets can now be easily combined...

… i.e. this can be done:

above  = <move 0,-0.5,0>
box above ball above peg
Update upgrade-Threejs-version.md
there is an option again to paint the background using CSS or using canvas
optimisation of background painting in case opaque colours are used
update to three.js version 54
update to three.js r55
upgrading to three.js r57
updating to three.js r58
updating three.js to r59
upgrade three.js to r60. Note that strokes are now "per triangle" - see https://github.com/mrdoob/three.js/issues/92
updating three.js to r61
updating three.js to r62
updating three.js to r63
updating three.js to r64