initial decoder refactoring.

this should make the whole decoder business easy to maintainable.
currently this change is available to Korean and Japanese codecs.