Context sensitive grammar for $\{a^{2^n}\mid n\geq 0\}$
This is from Hopcroft and Ullman's book, 
Example 9.4, pg 220:

$$ S \rightarrow ACaB $$
$$ Ca \rightarrow aaC $$
$$ CB \rightarrow DB $$
$$ CB \rightarrow E $$
$$ aD \rightarrow Da $$
$$ AD \rightarrow AC $$
$$ aE \rightarrow Ea $$
$$ AE \rightarrow \epsilon $$

Update: in fact given grammar is unrestricted which can be modified as a context sensitive.

But if your ultimate goal is to prove that the given language is a CSL, then it is enough to create a linear bounded automaton - a TM whose computational ability is restricted to the portion of input. In other words, the head of the TM cannot move beyond the input area. LBA's and CSG's are equivalent. 

You can just erase one input symbol at a time starting from the right, and each time you erase one symbol increase a counter by one (binary symbols 0 and 1) which are stored in place of erased symbols. When you erase all input symbols check if the counter is of the form 100...0. If yes then accept, otherwise reject). 100...0 means it is a power of 2.