Sync patch r14036 from main trunk.
Base on the type field to get the width of value field for option opcode.

git-svn-id: svn://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1/MdeModulePkg@14636 6f19259b-4bc3-4df7-8a09-765794883524
Sync patches r14044, r14046 and r14510 from main trunk.
1. Use EFI_IFR_TYPE_VALUE type variable instead of UINT64 to avoid buffer overflow.
2. Clean the flag before use it to avoid use old error value.

git-svn-id: svn://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1/MdeModulePkg@14637 6f19259b-4bc3-4df7-8a09-765794883524
Sync patches r14112, r14540 and r14543 from main trunk.
1. Based on the feature PCD value, browser will decide whether to gray out the read only menu.
2. Update Browser to provide the customization possibilities.
3. Refine the code logic for browser and display engine.

git-svn-id: svn://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1/MdeModulePkg@14638 6f19259b-4bc3-4df7-8a09-765794883524