Tweaked block creation

Block creation is now done by a unique block type ID assigned to each
block by the APIReader, instead of by name. Solves bug where dragging a
block would always return the first of its type