make printf rely less on global variables
fix printf %e of large BigInt values
fix printf %d BigFloat
minor cleanup of printf
add printf %f and %e for BigFloat. also fix a typeinference issue with sprintf, so it is faster than before
remove some typeasserts that were causing severe performance issues
remove another typeassert that caused performance degredation in printfd benchmark