In order to see that David Roberts' and Alex Suciu's comments give a complete classification of homotopy classes of maps $S^1\times S^1\to SO(3)$, one needs to further observe that every map from the 1-skeleton of the torus extends uniquely (up to homotopy) to the torus. Then the above comments describe all four homotopy classes of maps on the 1-skeleton (which is just a wedge of two circles). Note that by Example 4A.3 in Hatcher's Algebraic Topology text, the the classification of based and unbased homotopy classes of maps are always the same when mapping a CW complex $X$ into a path-connected topological group $G$, so in particular the classification of unbased homotopy classes of maps from $S^1\vee S^1$ or $S^1 \times S^1$ to $SO(3)$ is the same as in the based case (if you look closely at what happens in Hatcher's explanation, you'll see that this is just a simple consequence of the fact that $\pi_1 (SO(3)) is abelian). Now, let $\alpha: S^1 \to S^1 \vee S^1$ be the attaching map for the 2-cell of the torus. A map $f: S^1 \vee S^1\to SO(3)$ extends to the torus if and only if the composite $f\circ \alpha$ is nullhomotopic. But $\alpha$ is just the commutator of the two generating loops in $S^1 \vee S^1$, and since $\pi_1 (SO(3)) = \mathbb{Z}/2$ is abelian, $f\circ \alpha$ must be nullhomotopic (as it's a commutator). Finally, uniqueness of the extension follows from the fact that $\pi_2 (SO(3)) \cong \pi_2 (S^3) = 0$, because two different extensions paste together to give a map out of $S^2$. Note that the first isomorphism here is seen most easily as a consequence of the fact that $S^3 \cong SU(2)$ is a double-cover of $SO(3)$, and covering maps induce isomorphisms on higher homotopy groups. Note that if $G$ is a Lie group, then the same reasoning gives a description of $[M^g, G]$ (where $M^g$ is a genus $g$ surface and $[-,-]$ means based homotopy classes of maps) because the fundamental group of a topological group is always abelian, and the second homotopy group of a (finite dimensional) Lie group is always trivial. Specifically, there are $|\pi_1 (G)|^{2g}$ homotopy classes, determined by their restrictions to the 1-skeleton. (Again, it doesn't make a difference if we take unbased homotopy classes of maps.)