Number theory with Magma: for performant and flexible computation