Explain the use of Go's interface embedding for data reuse and composition?