"시길" is short for "시기를":)
1. 행복하(verb stem) + 시(the honorific suffix) = 행복하시다
2. 행복하시 + 기(makes a verb into a noun) = 행복하시기(noun)
3. 행복하시기 + 를(object marker) = 행복하시기를
4. 행복하시기를 + 바라다(to hope) = 행복하시기를 바라다
5. 행복하시기를 = 행복하시길 => 행복하시길 바라다(=I hope you will be happy)
e.g.
드시다 > 드시기를 > 드시길 바라다
가다 > 가기를 > 가길 바라다
\^o^/