(almost) fully implemented dynamic and resizable board generation (except ports and port locations)