Embedding a general planar graph into a grid
There is a really neat result which answer's this question: Schnyder's Theorem. Another nice result is that of de Fraysseix, Pach and Pollack.

Here is a reference for both algorithms. The "Realizer Method" corresponds to Schnyder's Theorem and "Canonical Orderings" corresponds to de Fraysseix et al.'s approach.

These algorithms can embed any planar triangulation in an $O(n)\times O(n)$ grid. You can embed a planar graph $G$ by adding edges until you obtain a maximal planar graph $T$. Then you run any of these algorithms with input $T$. The output will be a drawing of $T$ in an $O(n)\times O(n)$ grid, which is also a drawing of $G$ in that same grid.