setup.sh: function from any working directory

All the commands in this script assume they're run from the project
root, but we don't enforce that. Fix it by changing to the script's
directory before doing anything else.
diff --git a/setup.sh b/setup.sh
index ff3265e..4f8586a 100755
--- a/setup.sh
+++ b/setup.sh
@@ -20,6 +20,10 @@
 set -xe
 
 ##########################################
+# move to project root
+cd "$(dirname "$0")"
+
+##########################################
 # install Rust and select a proper version
 curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly-2021-09-20
 source $HOME/.cargo/env