Tom Williamson signs contract extension with Carlton