updated build system to not hard-code directories, and updated readme

also fixed the setState bug, which turned out to be in Dart.  See readme