North Korean leader Kim Jong Un has appeared in public for the first time in 20 days, according to state media, ending rumours about his health.