Introduction to Circle Packing: The Theory of Discrete Analytic Functions